The present invention relates to methods and systems for monitoring message transactions in a communication network that is divided into two or more domains. For example, a communication network used in commerce may have one or more “consumer domains” and one or more “provider domains”. Nodes of a consumer domain may send messages to other nodes in a consumer domain, generating one or more messages among nodes of the consumer domain, and, a node of a consumer domain may send a message to a node of a provider domain over a communication channel between the two domains. Receipt of the order message at the provider domain may generate one or more messages among the nodes of the provider domain as well as a response message sent from a node of the provider domain to a node of the consumer domain. Receipt of the response message at the consumer domain may generate one or more messages among the nodes of the consumer domain.
The entire transaction between the consumer and provider domains would thus include several messages, some of which occurred in the consumer domain, some occurred in the provider domain, and some occurred in a communication channel between the two domains. Each domain may have a processor, referred to as a collector, that collects data relating to messages received at and sent from nodes of the domain. The collected data may be used to reconstruct message paths that occurred in the domain and to evaluate the performance of the domain.
When the consumer domain receives the response message that was sent in response to the order message, the processor receiving data from the collector of the consumer can determine the response time, i.e. the time between the consumer' domain's sending of the order message and receipt by the consumer domain of the provider's response message. The processor can also determine various other times occurring between the domains, such as the time elapsed from the generation of order message in the consumer domain to its receipt on some machine in the provider domain. The consumer domain collector thus has the capability of collecting such response times over a time period and performing various statistical analyses of the transaction times. For example, for a given type of order message and a given type of response message, the processor may calculate an average and standard deviation of the time lapse between dispatching the order message and receiving the response message. If the processor or the consumer domain collector discover that for a given combination of order and response messages the time lapse is too long, the consumer domain may inform the provider domain of this situation with the expectation that the provider will act to remedy the situation, or the consumer domain may take other steps in response.
Each domain is typically administered by a different authority. Furthermore, regulations may be in place preventing the consumer from being allowed to monitor the provider domain. Thus, in the above example, the consumer domain collector would not have access to data on the message transactions that occurred in the provider domain upon receipt of the order message. Similarly, the provider domain collector would not have access to information relating to the message transactions that occurred in the consumer domain upon receipt of the response message at the consumer domain. While each collector can reconstruct message paths that occurred on its domain and evaluate the performance of its domain, and the response time of the other domain, neither collector can see the entire message path that occurred on both domains. Thus, it is not possible to reconstruct the entire message path; so that any type of assessment of the performance the portion of the network formed by the two domains is not possible.